//
// Created by 王岩松 on 2020/3/9.
//
// 2020/03/09 : 此版本使用矩阵求逆解线性方程组，复杂度可优化
// 2020/03/26 : lpc_durbin 使用 durbin算法求线性预测系数，虽然复杂度优化，单实际表现类似矩阵解法，建议使用 lpc

#ifndef LPC_LPC_H
#define LPC_LPC_H

#include <cassert>
#include <vector>
#include <cmath>
#include "matrix.h"

/*
 * x[]  wave data
 * N    sample number
 * ar[] lpc
 * p    lpc
 * */

double lpc(const double x[], int N, double ar[], int p);

double lpc(const std::vector<double> x, std::vector<double>& ar, int p);

void lpc_durbin(const std::vector<double> x, std::vector<double>& ar, int p);

#endif //LPC_LPC_H
